package com.cefetmg.mmc.mrcpsp.model.main;

import java.util.ArrayList;
import java.util.List;

/**
 * @author mrcosta
 *
 */
public class ResourceAvailabilities {
	
	private List<Integer> renewableInitialAmount;
	private List<Integer> nonRenewableInitialAmount;
	
	private List<Integer> renewableConsumedAmount;
	private List<Integer> nonRenewableConsumedAmount;
	
	private List<Integer> remainingRenewableAmount;
	private List<Integer> remainingNonRenewableAmount;
	
	private List<Job> jobsUsingRenewableResources;
	
	public ResourceAvailabilities() {
		renewableInitialAmount = new ArrayList<Integer>();
		nonRenewableInitialAmount = new ArrayList<Integer>();
		
		renewableConsumedAmount = new ArrayList<Integer>();
		nonRenewableConsumedAmount = new ArrayList<Integer>();
		
		remainingRenewableAmount = new ArrayList<Integer>();
		remainingNonRenewableAmount = new ArrayList<Integer>();
		
		jobsUsingRenewableResources = new ArrayList<Job>();
	}

	public List<Integer> getRenewableInitialAmount() {
		return renewableInitialAmount;
	}

	public void setRenewableInitialAmount(List<Integer> renewableInitialAmount) {
		this.renewableInitialAmount = renewableInitialAmount;
	}

	public List<Integer> getNonRenewableInitialAmount() {
		return nonRenewableInitialAmount;
	}

	public void setNonRenewableInitialAmount(List<Integer> nonRenewableInitialAmount) {
		this.nonRenewableInitialAmount = nonRenewableInitialAmount;
	}

	public List<Integer> getRenewableConsumedAmount() {
		return renewableConsumedAmount;
	}

	public void setRenewableConsumedAmount(List<Integer> renewableConsumedAmount) {
		this.renewableConsumedAmount = renewableConsumedAmount;
	}

	public List<Integer> getNonRenewableConsumedAmount() {
		return nonRenewableConsumedAmount;
	}

	public void setNonRenewableConsumedAmount(List<Integer> nonRenewableConsumedAmount) {
		this.nonRenewableConsumedAmount = nonRenewableConsumedAmount;
	}
	
	public List<Integer> getRemainingRenewableAmount() {
		return remainingRenewableAmount;
	}

	public void setRemainingRenewableAmount(List<Integer> remainingRenewableAmount) {
		this.remainingRenewableAmount = remainingRenewableAmount;
	}

	public List<Integer> getRemainingNonRenewableAmount() {
		return remainingNonRenewableAmount;
	}

	public void setRemainingNonRenewableAmount(
			List<Integer> remainingNonRenewableAmount) {
		this.remainingNonRenewableAmount = remainingNonRenewableAmount;
	}

	public List<Job> getJobsUsingRenewableResources() {
		return jobsUsingRenewableResources;
	}

	public void setJobsUsingRenewableResources(List<Job> jobsUsingRenewableResources) {
		this.jobsUsingRenewableResources = jobsUsingRenewableResources;
	}

	@Override
	public String toString() {
		return "ResourceAvailabilities [renewableInitialAmount:" + renewableInitialAmount + ", nonRenewableInitialAmount: " + nonRenewableInitialAmount
								   + ", renewableConsumedAmount: " + renewableConsumedAmount  + ", nonRenewableConsumedAmount: " + nonRenewableConsumedAmount;
	}
	
	public String toStringRenewable() {
		 return	"Total: " + renewableInitialAmount 
				+ " - Usage: " + renewableConsumedAmount
				+ " - Remaining: " + remainingRenewableAmount;
	}

}
